package cn.codingjc.peekaboo.domain.domain.sql.dto;

import lombok.Data;

import java.util.List;

/**
 * @className: TableSchemaDTO
 * @author:    Codingjc
 * @date:      2023/5/4
 **/
@Data
public class TableSchemaDTO {

    /**
     * 库名称
     */
    private String dbName;

    /**
     * 表名称
     */
    private String tableName;

    /**
     * 表注解
     */
    private String comment;

    /**
     * 模拟数据数量
     */
    private Integer mockNum;

    /**
     * 存储引擎
     */
    private String engine;

    /**
     * 字段列表
     */
    private List<Field> fieldList;


    @Data
    public static class Field{

        /**
         * 字段名称
         */
        private String fieldName;

        /**
         * 字段类型
         */
        private String fieldType;

        /**
         * 字段长度
         */
        private Integer fieldLength;

        /**
         * 默认值
         */
        private String defaultValue;

        /**
         * 字段注释
         */
        private String fieldComment;

        /**
         * 是否为空
         */
        private Boolean notNull;

        /**
         * 是否主键
         */
        private Boolean primaryKey;

        /**
         * 是否自增
         */
        private Boolean autoIncrement;

        /**
         * 模拟类型
         */
        private String mockType;

        /**
         * 模拟参数
         */
        private String mockParam;

        /**
         *
         */
        private String onUpdate;
    }
}
